/**
 * 使用阿里云短信功能发送短信验证码
 * 之前已经在阿里云设置好了aliyunKey的keyID和密钥(需经常维护和轮换)，并设置了短信的权限
 */
const createConfig = require("uni-config-center");
const wjfConfig = createConfig({
	pluginId: 'wjf-config', // 插件id
})
const configs=wjfConfig.config('jingyalianSmsKeys')

const Dysmsapi20170525 = require('@alicloud/dysmsapi20170525');
const OpenApi = require('@alicloud/openapi-client');
const Util = require('@alicloud/tea-util');
const Tea = require('@alicloud/tea-typescript');

function createClient() {
	let config = new OpenApi.Config({
		// 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
		accessKeyId: configs.accessKeyId,
		// 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
		accessKeySecret: configs.accessKeySecret,
	});
	// Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
	config.endpoint = `dysmsapi.aliyuncs.com`;
	return new Dysmsapi20170525.default(config);
}
/**
 * @param {Object} params ()
 * phoneNumber 手机号码
 * code 验证码
 */
module.exports =async function(params = {}) {
	// const configs=wjfConfig.config('aliSmsKeys')
	let {phoneNumber,code} =params
	let errorMsg=null
	
	let client = createClient();
	let sendSmsRequest = new Dysmsapi20170525.SendSmsRequest({
		phoneNumbers:phoneNumber,
		signName: configs.signName,
		templateCode: configs.templateCode,
		templateParam:JSON.stringify({
			code
		})
		// 注意，此处为字符串
		// templateParam: '{"code":"564388"}',
	});
	let runtime = new Util.RuntimeOptions({});
	try {
		// 复制代码运行请自行打印 API 的返回值
		return await client.sendSmsWithOptions(sendSmsRequest, runtime);
		
	} catch (error) {
		// 此处仅做打印展示，请谨慎对待异常处理，在工程项目中切勿直接忽略异常。
		// 错误 message
		// console.log(error.message);
		errorMsg=error.message
		// 诊断地址
		// console.log(error.data["Recommend"]);
		// Util.default.assertAsString(error.message);
	}
	
}